package net.xdclass.coupon.service;

import net.xdclass.common.JsonData;
import net.xdclass.common.message.MessageInfo;
import net.xdclass.coupon.request.LockCouponRecordRequest;
import net.xdclass.coupon.vo.CouponRecordVO;

public interface CouponRecordService {
    /**
     * 分页查询优惠券列表
     * @param page
     * @param size
     * @return
     */
    JsonData page(int page, int size);

    /**
     * 根据id查询优惠券记录
     * @param recordId
     * @return
     */
    CouponRecordVO selectById(Long recordId);

    /**
     * 锁定优惠券库存
     * @param request
     * @return
     */
    JsonData lockCouponRecord(LockCouponRecordRequest request);

    /**
     * 释放优惠券库存锁定
     * @param messageInfo
     * @return
     */
    boolean releaseCouponRecord(MessageInfo messageInfo);
}
